package com.ytjj.qmyx.mall.model;

import com.alibaba.fastjson.JSONObject;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
public class WxComplaintsListResponse implements Serializable {
    /**
     * 投诉单号
     */
    private String complaintId;
    /**
     * 投诉时间
     */
    private Date complaintTime;
    /**
     * 投诉内容
     */
    private String complaintDetail;
    /**
     * 投诉单状态 PENDING-待处理,PROCESSING-处理中,PROCESSED-已处理完成
     */
    private String complaintState;
    /**
     * 用户投诉次数
     */
    private Integer userComplaintTimes;
    /**
     * 订单金额
     */
    private BigDecimal amount;
    /**
     * 问题描述
     */
    private String problemDescription;
    /**
     * 投诉人联系方式
     */
    private String payerPhone;
    /**
     * 申请退款金额
     */
    private BigDecimal applyRefundAmount;
    /**
     * 问题类型 REFUND: 申请退款,SERVICE_NOT_WORK: 服务权益未生效,OTHERS: 其他类型
     */
    private String problemType;
    /**
     * 订单创建时间
     */
    private Date createDate;
    /**
     * 商户订单号
     */
    private String outTradeNo;
    /**
     *子订单号
     */
    private String childOrderNo;
    /**
     * 收件人姓名
     */
    private String userName;
    /**
     * 收件人手机号
     */
    private String userPhone;
    /**
     * 供应链商品id
     */
    private Integer supplyProductId;
    /**
     * 商品id
     */
    private Integer productId;
    /**
     *商品名称
     */
    private String productName;
    /**
     * 订单状态
     */
    private String orderStatus;
    /**
     * 交易时间
     */
    private Date payTime;
    /**
     * 处理人
     */
    private String adminName;

    /**
     * 核实问题及处理
     */
    private String verifyIssues;

    /**
     * 处理结果 1-未退款 2-全额退款 3-待退货退款
     */
    private Integer dealResult;

    /**
     * 登记信息的投诉单状态
     */
    private String registrationComplaintState;

    /**
     * 投诉开始时间
     */
    private Date complaintBeginTime;

    /**
     * 商户id
     */
    private String mchId;

    /**
     * 发起投诉原由 1-不会（找客服/转人工/查订单、物流） 2-非工作时间未找到客服 3-不信任平台 4-不肯等流程要即时退款 5-客服问题 6-联系客服排队时间过长 7-极端/职投/同行 8-遭受诈骗 9-售后单未退款 10-找错平台
     */
    private Integer reasonType;

    /**
     *跟进状态 1-待跟进-联系不上 2-已沟通协商好 3-跟进中 4-已完成 5-无法完成（连续一周）
     */
    private Integer followUpState;


    /**
     *协商诉求 1-非售后处理 2-待建售后单 3-退款中 4-已退款 5-补换货 6-待确定诉求
     */
    private Integer negotiateDemands;

    /**
     * 销售渠道
     */
    private String platformInfo;

    /**
     * 跟进方式 1-系统电话 2-工作手机 3-系统短信 4-手机短信 5-微信 （多选，逗号拼接）
     */
    private String followUpType;

    /**
     * 供应商ID
     */
    private Integer bankerId;


    public  WxComplaintsListResponse(){};

    public  WxComplaintsListResponse(JSONObject jsonObject){
        this.complaintId = jsonObject.getString("complaint_id");
        this.complaintTime = jsonObject.getDate("complaint_time");
        this.complaintDetail = jsonObject.getString("complaint_detail");
        this.complaintState = jsonObject.getString("complaint_state");
        this.userComplaintTimes = jsonObject.getInteger("user_complaint_times");
        this.amount = jsonObject.getBigDecimal("amount");
        this.problemDescription = jsonObject.getString("problem_description");
        this.payerPhone = jsonObject.getString("payer_phone");
        this.applyRefundAmount = jsonObject.getBigDecimal("apply_refund_amount");
        this.problemType = jsonObject.getString("problem_type");

    }
}
